Skip to content

Add read-only India iSMART support#27

Open
john-lazarus wants to merge 1 commit into
SAIC-iSmart-API:masterfrom
john-lazarus:india-readonly-support
Open

Add read-only India iSMART support#27
john-lazarus wants to merge 1 commit into
SAIC-iSmart-API:masterfrom
john-lazarus:india-readonly-support

Conversation

@john-lazarus

Copy link
Copy Markdown

Adds a first pass at India iSMART support in a separate saic_ismart_client_ng.india module.

What is included:

  • India TAP and gateway endpoints for mgindia.co.in
  • phone number normalization and stable device id generation
  • TAP login request/signature handling
  • India gateway request signing headers
  • AES-CBC response decrypt helper for encrypted gateway payloads
  • vehicle list parsing
  • read-only vehicle status request/response codec for TAP protocol 513
  • status parsing for doors, windows, lock state, temperatures, fuel/range, odometer, CAN activity, aux battery voltage, handbrake, and similar basic fields

I have intentionally kept this read-only for now. Remote commands should probably come in a separate PR once the status/login path has had more testing.

Validation run locally:

  • pytest tests/test_india_api.py -q
  • pytest -q --disable-warnings
  • ruff check src/saic_ismart_client_ng/india tests/test_india_api.py
  • python -m compileall -q src/saic_ismart_client_ng/india tests/test_india_api.py
  • git diff --check

All tests pass locally: 33 passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant